wayland: set the wm_class on toplevel windows
authorGiovanni Campagna <gcampagn@redhat.com>
Tue, 3 Sep 2013 09:38:35 +0000 (11:38 +0200)
committerGiovanni Campagna <gcampagn@redhat.com>
Tue, 3 Sep 2013 15:03:43 +0000 (17:03 +0200)
Before mapping the window, set the title and class, to allow
application tracking by gnome-shell.

https://bugzilla.gnome.org/show_bug.cgi?id=707129

gdk/wayland/gdkwindow-wayland.c

index 633ca83c54c43d773db74e0640dfdc7d041012fb..27632f33df68fc8f7cb400a2df05c2c2c152e485 100644 (file)
@@ -1066,6 +1066,14 @@ gdk_wayland_window_show (GdkWindow *window, gboolean already_mapped)
                                     &shell_surface_listener, window);
     }
 
+  if (impl->shell_surface)
+    {
+      if (impl->title)
+       wl_shell_surface_set_title (impl->shell_surface, impl->title);
+
+      wl_shell_surface_set_class (impl->shell_surface, gdk_get_program_class ());
+    }
+
   gdk_window_set_type_hint (window, impl->hint);
 
   _gdk_make_event (window, GDK_MAP, NULL, FALSE);
@@ -1074,9 +1082,6 @@ gdk_wayland_window_show (GdkWindow *window, gboolean already_mapped)
 
   if (impl->cairo_surface)
     gdk_wayland_window_attach_image (window);
-
-  if (impl->shell_surface && impl->title)
-    wl_shell_surface_set_title (impl->shell_surface, impl->title);
 }
 
 static void